1. 실행환경 세팅

운영체제별 필요 도구

운영체제 필수 도구 선택 도구
Windows Docker Desktop, WSL2, Ubuntu Windows Terminal
macOS Docker Desktop Homebrew, iTerm2
Linux Docker Engine Docker Compose
용어 정리

  • Docker Desktop: Windows/macOS용 Docker GUI 애플리케이션. Docker Engine + 관리 도구 + GUI를 포함한 올인원 패키지
  • Docker Engine: Docker의 핵심 런타임. 컨테이너를 실제로 생성하고 실행하는 서버 데몬
  • Docker Compose: 여러 컨테이너를 정의하고 동시에 실행하는 도구. YAML 파일로 멀티 컨테이너 환경 구성


Windows 환경 세팅

1단계: WSL2 설치

WSL2란?

1-1. WSL2 활성화

PowerShell (관리자 권한):

# WSL 기능 활성화
wsl --install

출력 예시:

설치 중: 가상 머신 플랫폼
설치 중: Linux용 Windows 하위 시스템
다운로드 중: WSL 커널
다운로드 중: Ubuntu
설치가 완료되었습니다. 변경 내용을 적용하려면 시스템을 다시 시작하세요.

중요: 시스템 재부팅 필요

1-2. 재부팅 후 WSL2 버전 확인

PowerShell:

# WSL 버전 확인
wsl --version

출력 예시:

WSL 버전: 2.0.14.0
커널 버전: 5.15.133.1-1
WSLg 버전: 1.0.59

2단계: Ubuntu 설치

2-1. 사용 가능한 Linux 배포판 확인

PowerShell:

# 온라인 배포판 목록 확인
wsl --list --online

출력 예시:

다음은 설치할 수 있는 유효한 배포 목록입니다.
'wsl.exe --install <Distro>'를 사용하여 설치합니다.

NAME                                   FRIENDLY NAME
Ubuntu                                 Ubuntu
Debian                                 Debian GNU/Linux
kali-linux                             Kali Linux Rolling
Ubuntu-20.04                           Ubuntu 20.04 LTS
Ubuntu-22.04                           Ubuntu 22.04 LTS

2-2. Ubuntu 설치

PowerShell:

# Ubuntu 22.04 LTS 설치 (권장)
wsl --install -d Ubuntu-22.04

설치 과정:

다운로드 중: Ubuntu 22.04 LTS
설치 중: Ubuntu 22.04 LTS
Ubuntu 22.04 LTS이(가) 설치되었습니다.

2-3. Ubuntu 초기 설정

자동으로 Ubuntu 터미널이 실행되면:

Enter new UNIX username: <사용자명 입력>
New password: <비밀번호 입력>
Retype new password: <비밀번호 재입력>

설정 완료 예시:

Installation successful!
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

username@DESKTOP-XXXXX:~$

2-4. 설치된 배포판 확인

PowerShell:

# 설치된 WSL 배포판 목록
wsl --list --verbose

출력 예시:

  NAME            STATE           VERSION
* Ubuntu-22.04    Running         2

3단계: Docker Desktop 설치 (Windows)

3-1. Docker Desktop 다운로드

다운로드 링크:

시스템 요구사항:

3-2. Docker Desktop 설치

  1. 다운로드한 Docker Desktop Installer.exe 실행
  2. "Use WSL 2 instead of Hyper-V" 옵션 체크 (권장)
  3. "Install" 클릭
  4. 설치 완료 후 시스템 재부팅 (필요 시)

3-3. Docker Desktop 초기 설정

Docker Desktop 실행 후:

  1. "Accept" 클릭 (서비스 약관 동의)
  2. "Use recommended settings" 선택 (권장)
  3. "Finish" 클릭

3-4. WSL2 통합 활성화

Docker Desktop 설정:

  1. Docker Desktop 실행
  2. 설정(Settings) 클릭 (우측 상단 톱니바퀴)
  3. Resources → WSL Integration
  4. "Enable integration with my default WSL distro" 체크
  5. Ubuntu-22.04 토글 활성화
  6. "Apply & Restart" 클릭

설정 화면 예시:

WSL Integration
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

☑ Enable integration with my default WSL distro

Enable integration with additional distros:
☑ Ubuntu-22.04

[Apply & Restart]

3-5. Docker 설치 확인

PowerShell:

# Docker 버전 확인
docker --version

# Docker Compose 버전 확인
docker compose version

출력 예시:

Docker version 24.0.7, build afdd53b
Docker Compose version v2.23.3-desktop.2

WSL2 Ubuntu에서 확인:

# WSL 진입
wsl

# Docker 명령 확인
docker --version

4단계: Windows Terminal 설치 (선택사항)

Windows Terminal이란?

4-1. Microsoft Store에서 설치

  1. Microsoft Store 실행
  2. "Windows Terminal" 검색
  3. "설치" 클릭

또는 PowerShell (winget 사용):

# winget으로 설치
winget install Microsoft.WindowsTerminal

4-2. Windows Terminal에서 Ubuntu 열기

  1. Windows Terminal 실행
  2. 상단 탭 옆 "+" 드롭다운 클릭
  3. "Ubuntu-22.04" 선택

macOS 환경 세팅

1단계: Homebrew 설치 (선택사항)

Homebrew란?

터미널:

# Homebrew 설치
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

설치 확인:

# Homebrew 버전 확인
brew --version

출력 예시:

Homebrew 4.2.0

2단계: Docker Desktop 설치 (macOS)

2-1. Docker Desktop 다운로드

다운로드 링크:

또는 Homebrew 사용:

# Homebrew로 설치 (권장)
brew install --cask docker

2-2. Docker Desktop 설치

DMG 파일 다운로드한 경우:

  1. Docker.dmg 파일 실행
  2. Docker 아이콘을 Applications 폴더로 드래그
  3. Applications 폴더에서 Docker 실행
  4. "Open" 클릭 (보안 경고)

2-3. Docker Desktop 초기 설정

  1. "Accept" 클릭 (서비스 약관)
  2. "Use recommended settings" 선택
  3. macOS 시스템 비밀번호 입력 (권한 부여)
  4. "Finish" 클릭

2-4. Docker 설치 확인

터미널:

# Docker 버전 확인
docker --version

# Docker Compose 버전 확인
docker compose version

# Docker 정보 확인
docker info

출력 예시:

Docker version 24.0.7, build afdd53b
Docker Compose version v2.23.3-desktop.2

3단계: iTerm2 설치 (선택사항)

iTerm2란?

Homebrew 사용:

# iTerm2 설치
brew install --cask iterm2

Linux 환경 세팅 (Ubuntu/Debian 기준)

1단계: 시스템 업데이트

터미널:

# 패키지 목록 업데이트
sudo apt update

# 설치된 패키지 업그레이드
sudo apt upgrade -y

2단계: Docker Engine 설치

2-1. 필수 패키지 설치

# 필수 패키지 설치
sudo apt install -y \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

2-2. Docker 공식 GPG 키 추가

용어 정리

  • GPG 키 (GNU Privacy Guard Key): 소프트웨어 패키지의 진위를 검증하는 암호화 키. 패키지가 공식 배포자로부터 왔음을 보장
  • apt: Ubuntu/Debian 계열의 패키지 관리 도구. 소프트웨어 설치, 업데이트, 삭제 담당

# GPG 키 디렉터리 생성
sudo install -m 0755 -d /etc/apt/keyrings

# Docker 공식 GPG 키 다운로드
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
    sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# 키 파일 권한 설정
sudo chmod a+r /etc/apt/keyrings/docker.gpg

2-3. Docker 저장소 추가

# Docker 저장소 추가
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
  https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

2-4. Docker Engine 설치

용어 정리

  • docker-ce: Docker Community Edition. Docker 엔진 본체
  • docker-ce-cli: Docker 명령줄 인터페이스 (docker 명령어)
  • containerd.io: 컨테이너 런타임. 실제 컨테이너 실행 담당
  • docker-buildx-plugin: 멀티 아키텍처 이미지 빌드 플러그인
  • docker-compose-plugin: Docker Compose V2 플러그인

# 패키지 목록 업데이트
sudo apt update

# Docker Engine, CLI, containerd 설치
sudo apt install -y \
    docker-ce \
    docker-ce-cli \
    containerd.io \
    docker-buildx-plugin \
    docker-compose-plugin

2-5. Docker 서비스 시작

# Docker 서비스 시작
sudo systemctl start docker

# 부팅 시 자동 시작 설정
sudo systemctl enable docker

# Docker 서비스 상태 확인
sudo systemctl status docker

출력 예시:

● docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled)
     Active: active (running) since Thu 2026-01-09 10:00:00 UTC

2-6. 사용자를 docker 그룹에 추가 (sudo 없이 사용)

용어 정리

  • docker 그룹: Docker 데몬의 Unix 소켓에 접근 권한을 가진 사용자 그룹. 이 그룹에 추가되면 sudo 없이 docker 명령 실행 가능
  • Unix 소켓: Docker 데몬과 클라이언트(docker 명령어)가 통신하는 방식. 기본적으로 root 사용자만 접근 가능

# 현재 사용자를 docker 그룹에 추가
# usermod: 사용자 계정 수정 명령
#   -a: Append, 기존 그룹 유지하면서 추가
#   -G: 보조 그룹 지정
#   $USER: 현재 로그인한 사용자명 환경 변수
sudo usermod -aG docker $USER

# 변경사항 적용 (재로그인 또는 다음 명령 실행)
# newgrp: 현재 세션에서 그룹 변경 적용
newgrp docker

2-7. Docker 설치 확인

# Docker 버전 확인
docker --version

# Docker Compose 버전 확인
docker compose version

# Hello World 컨테이너 실행 테스트
docker run hello-world

출력 예시:

Hello from Docker!
This message shows that your installation appears to be working correctly.

설치 확인 및 테스트

모든 OS 공통 테스트

1. Docker 버전 확인

Windows PowerShell / macOS Terminal / Linux Terminal:

docker --version

예상 출력:

Docker version 24.0.7, build afdd53b

2. Docker 정보 확인

docker info

주요 확인 항목:

Server:
 Containers: 0
 Images: 0
 Server Version: 24.0.7
 Storage Driver: overlay2 (또는 overlayfs)
 Operating System: Docker Desktop (Windows/Mac) 또는 Ubuntu (Linux)

3. Hello World 컨테이너 실행

docker run hello-world

성공 시 출력:

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
...
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

4. Ubuntu 컨테이너 실행 테스트

# Ubuntu 컨테이너 실행 (대화형 모드)
docker run -it ubuntu:22.04 bash

# 컨테이너 내부에서 명령 실행
cat /etc/os-release

# 컨테이너 종료
exit

5. 이미지 목록 확인

docker images

예상 출력:

REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
ubuntu        22.04     3b418d7b466a   2 weeks ago    77.8MB
hello-world   latest    9c7a54a9a43c   7 months ago   13.3kB

실습 디렉터리 생성

Windows (PowerShell)

# 실습 디렉터리 생성 (C 드라이브 권장)
New-Item -ItemType Directory -Path C:\docker-practice -Force
cd C:\docker-practice

# 디렉터리 확인
pwd

macOS / Linux (Bash)

# 실습 디렉터리 생성
mkdir -p ~/docker-practice
cd ~/docker-practice

# 디렉터리 확인
pwd

참고 자료

공식 문서:

커뮤니티: